/***************************************************************************
 创建者: 华磊
 开始时间: 2020.8.14
 copyright: (C) 深圳市华友高科有限公司
 修改说明: (每次有修改就添加一条，带有 修改人，修改时间，修改描述)
 example (1) hualei 2020.5.8 类的具体实现代码编写

 ***************************************************************************
 *  @file x.h
 *  功能:
 *
 *                                                                         *
 ***************************************************************************/
#ifndef BALLJOYSTICK_H
#define BALLJOYSTICK_H

#include <QWidget>
#include <QMouseEvent>

namespace Ui {
class BallJoyStick;
}
/**
 * @brief The BallJoyStick class 手动摇杆类
 */
class BallJoyStick : public QWidget
{
    Q_OBJECT

public:
    explicit BallJoyStick(int width, QWidget *parent = 0);
    ~BallJoyStick();

public:
    double getX();
    double getY();
    int getStage();
    int setStage(int stageIn);

protected:
    void paintEvent(QPaintEvent *);
    void mousePressEvent(QMouseEvent *e);       //--鼠标按下事件
    void mouseMoveEvent(QMouseEvent *e);    //--鼠标移动事件
    void mouseReleaseEvent(QMouseEvent *e); //--鼠标释放（松开）事件
    void mouseDoubleClickEvent(QMouseEvent *e); //--鼠标双击事件

private:
    int showText();


private:
    Ui::BallJoyStick *ui;
    int zeroX;
    int zeroY;
    int currentX;
    int currentY;
    double validRadius;
    double mouseRadius;
    int stage;
};

#endif // BALLJOYSTICK_H
